cholesky_rank1_downdate Interface

public interface cholesky_rank1_downdate

Module Procedures

private subroutine cholesky_rank1_downdate_dbl(r, u, work, err)

Computes the rank 1 downdate to a Cholesky factored matrix such that . This operation only works if the new matrix is positive definite.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(inout), dimension(:,:) :: r

On input, the N-by-N upper triangular matrix . On output, the updated matrix .

real(kind=real64), intent(inout), dimension(:) :: u

On input, the N-element vector . On output, the rotation sines used to transform to .

real(kind=real64), intent(out), optional, target, dimension(:) :: work

An optional argument that if supplied prevents local memory allocation. If provided, the array must have at least N elements.
Additionally, this workspace array is used to contain the rotation cosines used to transform to .

class(errors), intent(inout), optional, target :: err

An error object to report any errors that occur.

private subroutine cholesky_rank1_downdate_cmplx(r, u, work, err)

Computes the rank 1 downdate to a Cholesky factored matrix such that . This operation only works if the new matrix is positive definite.

Arguments

Type IntentOptional Attributes Name
complex(kind=real64), intent(inout), dimension(:,:) :: r

On input, the N-by-N upper triangular matrix . On output, the updated matrix .

complex(kind=real64), intent(inout), dimension(:) :: u

On input, the N-element vector . On output, the rotation sines used to transform to .

real(kind=real64), intent(out), optional, target, dimension(:) :: work

An optional argument that if supplied prevents local memory allocation. If provided, the array must have at least N elements.
Additionally, this workspace array is used to contain the rotation cosines used to transform to .

class(errors), intent(inout), optional, target :: err

An error object to report any errors that occur.